package com.shrct.businessprocess.product;

import com.shrct.businessprocess.organization.RCSupplier;
import com.shrct.businessprocess.product.RCDerivedFullServiceProductSpecification;
import com.shrct.businessprocess.product.RCFullService;
import com.shrct.businessprocess.product.RCServiceLevel;
import com.shrct.businessprocess.product.RCServiceResponseTime;
import com.shrct.businessprocess.product.impl.RCFullServiceProductEntryImpl;
import com.shrct.businessprocess.product.proxy.RCFullServiceProductEntryProxy;
import edu.fudan.langlab.domain.common.DateRange;
import edu.fudan.mylang.pf.EntityImplementation;
import edu.fudan.mylang.pf.IModelObject;
import java.util.Date;

@EntityImplementation(implementBy = RCFullServiceProductEntryImpl.class)
public interface RCFullServiceProductEntry extends IModelObject {
  public abstract String getProjectid();
  
  public abstract RCFullServiceProductEntry setProjectid(final String projectid);
  
  public abstract String getServiceContractCode();
  
  public abstract RCFullServiceProductEntry setServiceContractCode(final String serviceContractCode);
  
  public abstract RCSupplier getSupplier();
  
  public abstract RCFullServiceProductEntry setSupplier(final RCSupplier supplier);
  
  public abstract RCDerivedFullServiceProductSpecification getType();
  
  public abstract RCFullServiceProductEntry setType(final RCDerivedFullServiceProductSpecification type);
  
  public abstract Date getStart();
  
  public abstract RCFullServiceProductEntry setStart(final Date start);
  
  public abstract Date getEnd();
  
  public abstract RCFullServiceProductEntry setEnd(final Date end);
  
  public abstract RCFullService getFullService();
  
  public abstract RCFullServiceProductEntry setFullService(final RCFullService fullService);
  
  public abstract RCServiceLevel getServiceLevel();
  
  public abstract void setServiceLevel(final RCServiceLevel sl);
  
  public abstract RCServiceResponseTime getServiceResponseTime();
  
  public abstract Integer getServiceDuration();
  
  public abstract String getEntityName();
  
  public abstract DateRange getRange();
  
  public abstract RCFullServiceProductEntryProxy toProxy();
}
